﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Crosland.Offline.Logic
{
    /// <summary>
    /// Muestra los resultados del logeo
    /// </summary>
    public struct ResultadoLogin
    {
        /// <summary>
        /// El login es correcto
        /// </summary>
        public const string LoginOk = "OK";

        /// <summary>
        /// El usuario no existe
        /// </summary>
        public const string LoginUserNoxiste = "seg_user_noexiste";

        /// <summary>
        /// El usuario esta inactivo
        /// </summary>
        public const string LoginUserInactivo = "seg_user_noactivo";

        /// <summary>
        /// El password ingresado no es correcto
        /// </summary>
        public const string LoginPwdIncorrecto = "seg_pws_incorrecto";
    }


    /// <summary>
    /// Resultado de la operación de password
    /// </summary>
    public struct ResultadoRecuperarPwd
    {
        /// <summary>
        /// La recuparación del password se realizó con exito
        /// </summary>
        public const string RecuperacionOK = "seg_recupera_ok";

        /// <summary>
        /// El email ingresado, no está registrado en el sistema
        /// </summary>
        public const string EmailIncorrecto = "seg_recupera_email_incorrecto";

        /// <summary>
        /// Es necesario que se ingrese el correo electrónico
        /// </summary>
        public const string EmailRequerido = "seg_recupera_email_requerido";

        /// <summary>
        /// Ha ocurrido un error al intentar recuperar el password
        /// </summary>
        public const string RecuperacionError = "seg_recupera_error";

    }


    /// <summary>
    /// Muestra los resultados del cambio de clave
    /// </summary>
    public struct ResultadoCambioPasssword
    {
        /// <summary>
        /// El cambio se ha realizado correctamente
        /// </summary>
        public const string CambioOk = "seg_cambio_ok";

        /// <summary>
        /// El password del usuario no es coincidente
        /// </summary>
        public const string PasswordNoCoincide = "seg_cambio_incorrecto";

        /// <summary>
        /// Error en el cambio del password
        /// </summary>
        public const string CambioError = "seg_cambio_error";
    }

    /// <summary>
    /// Permite 
    /// </summary>
    public static class HelperClass
    {
        public static List<ParCombo> ListarEstados()
        {
            List<ParCombo> list = new List<ParCombo>();
            list.Add(new ParCombo("","-Seleccione-"));
            list.Add(new ParCombo("A", "Activo"));
            list.Add(new ParCombo("I", "Inactivo"));

            return list;
        }
    }

    /// <summary>
    /// Clase a utilizar en los combos
    /// </summary>
    public class ParCombo
    {
        private string id;
        private string descripcion;

        /// <summary>
        /// Código
        /// </summary>
        public string ID
        {
            get { return id; }
            set { id = value; }
        }

        /// <summary>
        /// Descripcion
        /// </summary>
        public string DesNombre
        {
            get { return descripcion; }
            set { descripcion = value; }
        }

        /// <summary>
        /// Constructor
        /// </summary>
        public ParCombo()
        { 
        
        }

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="id"></param>
        /// <param name="descripcion"></param>
        public ParCombo(string id, string descripcion)
        {
            this.id = id;
            this.descripcion = descripcion;
        }
    }

        
}
